package com.yantong.service;


import com.yantong.pojo.vo.CentreCategoryVo;

import java.util.List;
import java.util.Map;

/**
 * Service接口
 *
 * @author Kyle
 * @email 572001183@qq.com
 * @date 2017-08-21 15:32:31
 */
public interface CentreCategoryService {

    /**
     * 分类列表:获取所有分类
     *
     * @return
     * @author baolingyu
     * @date 2018年8月28日-上午11:44:06
     */
    List<CentreCategoryVo> listCategorys();

    /**
     * 根据paraentId获取下一级
     * @param parentId
     * @return
     * @author baolingyu
     * @date 2018年8月31日-上午11:54:37
     */
    List<CentreCategoryVo> listCategorys(Long parentId);

    /**
     * 获取分类信息
     * @param parentId 上级分类ID
     * @param type 分类类型
     * @return
     */
    List<CentreCategoryVo> listCategorys(Long parentId, Integer type);

    /**
     * 保存
     *
     * @param obj
     * @return
     * @author baolingyu
     * @date 2018年8月28日-上午11:46:11
     */
    int save(CentreCategoryVo obj);

    /**
     * 详情
     *
     * @param id
     * @return
     * @author baolingyu
     * @date 2018年8月28日-上午11:46:18
     */
    CentreCategoryVo getByKey(Long id);

    /**
     * 更新
     *
     * @param obj
     * @return
     * @author baolingyu
     * @date 2018年8月28日-上午11:46:25
     */
    int update(CentreCategoryVo obj);

    /**
     * 删除
     *
     * @param id
     * @return
     * @author baolingyu
     * @date 2018年8月28日-上午11:46:32
     */
    int remove(Long id);

    /**
     * 根据名称搜索id
     * @param name
     * @return
     * @author baolingyu
     * @date 2018年11月24日-下午6:37:13
     */
    Long selectByName(String name);

    /**
     *根据子分类名称 父分类Id联合出子分类id（保证不会根据名称查询出多个数据）
     *
     */
    Long selectByNameSon(Map map);

    /**
     *根据子分类名称 父分类Id联合出子分类id（保证不会根据名称查询出多个数据）
     *
     */
    CentreCategoryVo selectCategoryByName(Map map);

    List<CentreCategoryVo> allCategorys(Long parentId);
}
